// api/modules/wechat.js 修复版本
import request from '../index';

export default {
  /**
   * 获取用户绑定的微信信息
   * @param {Number|String} userId 用户ID - 确保非空
   * @returns {Promise} 微信绑定信息
   */
  getUserWechat(userId) {
    // 确保userId有效，避免出现undefined作为路径参数
    if (!userId) {
      console.error('获取微信绑定信息失败: userId为空');
      return Promise.reject(new Error('用户ID不能为空'));
    }
    
    // 确保使用正确的API路径
    return request.get(`/wechat/user/info/${userId}`);
  },
  
  /**
   * 绑定微信OpenID到用户账号
   * @param {Object} params 绑定参数
   * @param {Number|String} params.userId 用户ID
   * @param {String} params.code 微信登录code
   * @returns {Promise} 绑定结果
   */
  bindOpenidToUser(params) {
    // 参数校验
    if (!params || !params.userId || !params.code) {
      console.error('绑定微信失败: 参数不完整', params);
      return Promise.reject(new Error('绑定微信参数不完整'));
    }
    
    return request.post('/wechat/user/bind', params);
  },
  
  /**
   * 创建微信支付订单
   * @param {Object} params 支付参数
   * @param {String} params.orderId 订单ID
   * @param {String} params.orderType 订单类型，如VIP、PRODUCT等
   * @param {String} params.payMethod 支付方式，如wxpay
   * @param {Object} config 请求配置
   * @returns {Promise} 支付信息
   */
  createOrder(params, config = {}) {
    // 参数校验
    if (!params || !params.orderId || !params.orderType || !params.payMethod) {
      console.error('创建支付订单失败: 参数不完整', params);
      return Promise.reject(new Error('创建支付订单参数不完整'));
    }
    
    return request.post('/wechat/pay/create', params, config);
  }
};